package com.zzl.admin.callback;

/**
 * 回调端
 * description: 定义一个老师对象，实现Callback接口
 *              老师对象有两个public方法：
 *              （1）回调接口tellAnswer(int answer)，即学生回答完毕问题之后，老师要做的事情
 *              （2）问问题方法askQuestion()，即向学生问问题
 * @author 朱正磊
 * @date 2023-06-29 11:10:08
 */
public class Teacher implements Callback {

    private final Student student;

    public Teacher(Student student) {
        super();
        this.student = student;
    }

    /**
     * description: 问问题
     * @author 朱正磊
     * @date 2023-06-29 11:32:41
     */
    public void askQuestion() {
        student.resolveQuestion(this);
    }

    /**
     * description: 实现回调抽象方法
     * @author 朱正磊
     * @date 2023-06-29 11:30:15
     * @param answer 问题答案
     */
    @Override
    public void tellAnswer(int answer) {
        System.out.println("报告老师，问题答案是：" + answer);
    }

}
